//
// Created by Tan Ke on 2023/11/25.
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int romanToInt(char* s)
{
    int sum = 0;
    for (int i = 0; i < strlen(s); i ++) {
        if (s[i] == 'I') {
            if (i + 1 > strlen(s) - 1) {
                sum += 1;
            } else {
                if (s[i + 1] == 'V') {
                    sum += 4;
                    i = i + 1;
                } else if (s[i + 1] == 'X') {
                    sum += 9;
                    i = i + 1;
                } else {
                    sum += 1;
                }
            }
        } else if (s[i] == 'V') {
            sum += 5;
        } else if (s[i] == 'X') {
            if (i + 1 > strlen(s) - 1) {
                sum += 10;
            } else {
                if (s[i + 1] == 'L') {
                    sum += 40;
                    i = i + 1;
                } else if (s[i + 1] == 'C') {
                    sum += 90;
                    i = i + 1;
                } else {
                    sum += 10;
                }
            }
        } else if (s[i] == 'L') {
            sum += 50;
        } else if (s[i] == 'C') {
            if (i + 1 > strlen(s) - 1) {
                sum += 100;
            } else {
                if (s[i + 1] == 'D') {
                    sum += 400;
                    i = i + 1;
                } else if (s[i + 1] == 'M') {
                    sum += 900;
                    i = i + 1;
                } else {
                    sum += 100;
                }
            }
        } else if (s[i] == 'D') {
            sum += 500;
        } else {
            sum += 1000;
        }
    }

    return sum;
}

int main(void)
{
    printf("%d\n", romanToInt("LVIII"));
    return 0;
}